Install build tools:
brew install autoconf automake libtool
Then install PECL:
Install build tools:
brew install autoconf automake libtool
Then install PECL:
The goal of this example is to build a more powerful authentication system in our Supabase Angular applications by leveraging RxJS Observables.
Supabase has a great tutorial that explains how to set up your Angular app to work with Supabase, but while that tutorial works with Angular, I wouldn't say it's built for angular.
When you create a new Angular app with the Angular CLI, baked-in is the powerful library, RxJS. Let's combine the ease of Supabase with the power of RxJS.
Another important addition that I will lay out is the ability to seamlessly combine a public.profiles
table with your auth.users
table from Supabase Auth. Many (if not most) applications need to store more data about their users than what sits in the auth.users
table in your database, which is where Supabase Auth pulls from. With RxJS Observables and Supabase Realtime, any changes to our user's profile can immediately be
Shader "Unlit/PolyRhythmVisualizer" { | |
Properties { | |
_TimeCode ("Input Time", Float) = 0 | |
_OuterRingFreq ("Outer Ring Frequency", Float) = 1 | |
_InnerRingFreq ("Inner Ring Frequency", Float) = 0.922 | |
_RingCount ("Ring Count", Int) = 35 | |
_VibrantFreq ("Vibrant Frequency", Float) = 2 | |
_Vibrant ("Vibrant", Range(0, 1)) = 0.5 | |
_Decay ("Decay", Range(0, 10)) = 2 | |
[Header(Cosine Gradiant)] |
autocomplete="off"
onto <form>
element;<input>
with autocomplete="false"
as a first children element of the form.<form autocomplete="off" method="post" action="">
<input autocomplete="false" name="hidden" type="text" style="display:none;">
...
div.field_with_errors label{color:#d4524b !important}div.field_with_errors input:not(.custom-tailwind){border:2px solid #d4524b !important}div.field_with_errors+.input-wrapper{border:2px solid #d4524b !important}[data-controller=character-count].warn .count-label{color:#f5a623}[data-controller=character-count].alert .count-label{color:#d4524b}fieldset{border:none}fieldset label{display:block;color:#333;font-size:18px;font-weight:bold;margin:40px 0 6px 0}fieldset label.p-0{padding:0}fieldset label.m-0{margin:0}fieldset label.radio_description{display:inline;color:#666;font-weight:normal;margin:0}fieldset label small{font-weight:normal;color:#999;padding-left:10px}fieldset label small.warn{color:#f5a623}fieldset label small.alert{color:#d4524b}fieldset i{color:#999;display:block;font-size:14px;font-style:normal;padding:7px 0 0 2px}input[type=text],input[type=email],input[type=number],input[type=password],fieldset input,fieldset textarea,fieldset select{border:2px solid #434459;border-radius:5px;box-sizing:borde |
const crypto = require("crypto") | |
// The `generateKeyPairSync` method accepts two arguments: | |
// 1. The type ok keys we want, which in this case is "rsa" | |
// 2. An object with the properties of the key | |
const { publicKey, privateKey } = crypto.generateKeyPairSync("rsa", { | |
// The standard secure default length for RSA keys is 2048 bits | |
modulusLength: 2048, | |
}) |
This book is all about patterns for doing ML. It's broken up into several key parts, building and serving. Both of these are intertwined so it makes sense to read through the whole thing, there are very many good pieces of advice from seasoned professionals. The parts you can safely ignore relate to anything where they specifically use GCP. The other issue with the book it it's very heavily focused on deep learning cases. Not all modeling problems require these. Regardless, let's dive in. I've included the stuff that was relevant to me in the notes.
Published: 16 December 2022
Reference: https://docs.opnsense.org/manual/how-tos/wireguard-selective-routing.html
Goal: Set up one or more Wireguard connections from ProtonVPN on OPNsense, with policy based routing, and optional Killswitch.
I'm writing this guide first as a reference for my future self for when I inevitably forget how to do this, but also to help others out. I found there were not many guides on this specific configuration, particularly not with multiple concurrent connections, and these were some steps which were not at all obvious. I did begin with the guide in the official OPNsense documentation, but even that was missing info to make ProtonVPN work. If you are a pfSense user, it is very similar to OPNsense, and you should be able to follow along with some success, but I have not tested it myself.
Helm 3 is storing description of it's releases in secrets. You can simply find them via
$ kubectl get secrets
NAME TYPE DATA AGE
sh.helm.release.v1.wordpress.v1 helm.sh/release.v1 1 1h
If you want to get more info about the secret, you can try to describe the secret
$ kubectl describe secret sh.helm.release.v1.wordpress.v1